#pragma once

#include <mutex>

#include "thread_pool.h"

class ThreadPool_1 : public ThreadPool {
 public:
  ThreadPool_1();
  ThreadPool_1(size_t thread_n, size_t hold_n, size_t max_n);
  ~ThreadPool_1() = default;

 protected:
  void OnStart() override;

  void OnStop() override;

  void OnThreadStart() override;

  void OnThreadEnd() override;

 private:
  std::mutex io_mutex;   // 打印互斥锁
  size_t thread_id_{0};  // 线程池线程id
};